package com.system.service.impl;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.system.dao.QuestionDao;
import com.system.entity.PageBean;
import com.system.entity.Question;
import com.system.entity.User;
import com.system.service.QuestionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service("questionService")
public class QuestionServiceIml implements QuestionService {
    @Autowired
    QuestionDao questionDao;
    @Override
    public void addQuestion(Question question) {
        questionDao.addQuestion(question);
    }

    /**
     * 分页查询-条件查询方法
     *
     * @param question 查询条件
     * @param pageCode 当前页
     * @param pageSize 每页的记录数
     * @return
     */
    @Override
    public PageBean findByPage(Question question, int pageCode, int pageSize) {
        //使用Mybatis分页插件
        PageHelper.startPage(pageCode, pageSize);

        //调用分页查询方法，其实就是查询所有数据，mybatis自动帮我们进行分页计算
        Page<Question> page = questionDao.findByPage(question);

        return new PageBean(pageCode, (int)Math.ceil((double)(page.getTotal() / (double)pageSize)), (int)page.getTotal(), pageSize, page.getResult());
    }


    /**
     *
     * 删除题目
     * @param id
     */
    @Override
    public void deleteQuestion(Integer id) {
        questionDao.deleteQuestion(id);
    }

    /***
     *
     * 通过id组删除题目
     * @param ids
     */
    @Override
    public void deleteQuestionByIds(Integer[] ids) {
        questionDao.deleteQuestionByIds(ids);
    }

    /***
     *
     * 通过id进行题目的编辑
     * @param id
     * @return
     */
    @Override
    public Question findById(int id) {
        return questionDao.findById(id);
    }

    /**
     *
     * 更新题目信息
     * @param question
     */
    @Override
    public void updateQuestion(Question question) {
        questionDao.updateQuestion(question);
    }
}
